package com.Math;

public class RegexDemo4 {
    public static void main(String[] args) {
        //验证用户名是否满足要求
        //1：大小写字母  x+一次或多次
        //2：数字       一次或多次
        //3：下划线     一次或多次
        //4：一共4-16位
//        String str = "\\w+"


        //验证身份证号码是否满足要求：
        //简单要求：
        String st = "\\d{17}[\\dXx]";
        System.out.println("520203 2004 1001 351x".matches(st));
        //   \\d{6}
        //    [2][0] | [1][9] \\d{2}
        //    ()
        //复杂要求：
        String stu = "\\d{6}([2][0] | [1][9])\\d{2}([01][1-9]|[1][0-2])\\d{3}[\\dXx]";
        System.out.println("52020320041001351x".matches(stu));

        // 正确的正则表达式应该是：
        //String stu = "\\d{6}[12][90]\\d{2}([01][1-9]|[1][0-2])\\d{3}[\\dXx]";

    }
}
